package com.Test.d2_num2;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;

public class Test2 {
    public static void main(String[] args) throws Exception {
        Collection<String> list = new ArrayList<>();

        //1.创建文件输入流对象，和文件进行关联
        FileInputStream fis = new FileInputStream("C:\\Program Files\\Java\\code\\javaseadvrepro\\HomeWork\\src\\com\\Test\\d2_num2\\work.txt");
        //读取数据
        int b;
        while ((b = fis.read()) != -1) {
            list.add(String.valueOf((char)b));
        }
        System.out.println();

        //遍历集合
        for (String s : list) {
//            System.out.print(s);
        }
        System.out.println("----------------------------------------");
        //用stream流的方式 过滤逗号前后的数字
        List<String> list1 = list.stream().filter(s -> !s.contains(",")).collect(Collectors.toList());



        ArrayList<Integer> intList = new ArrayList<>();
        intList.add(23);
        intList.add(45);
        intList.add(68);
        intList.add(8934);
        intList.add(3);
        intList.add(90);
        intList.add(324);
        intList.add(5);
        intList.add(343);
        intList.add(7678);
        intList.add(34);
        intList.add(89);
        intList.add(45);
        intList.add(34);
        intList.add(24);

        //排序
        Collections.sort(intList);
        //如果intList集合中出现多次 输出频率最高的6个数字

        Map<Integer, Integer> map = new HashMap<>();
        for (Integer i : intList) {
            if (map.containsKey(i)) {
                map.put(i, map.get(i) + 1);
            } else {
                map.put(i, 1);
            }
        }
        int count = 0;
        //遍历集合map 输出频率最高的6个数字
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if(entry.getValue() >= 2) {
                System.out.println("数字" + entry.getKey() + "出现" + entry.getValue() + "次");
                count++;
            }
            if(entry.getValue() >= 1 && count < 6) {
                System.out.println("数字" + entry.getKey() + "出现" + entry.getValue() + "次");
                count++;
            }
        }













    }
}
